home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / sviluppo / svilupp2 / istar.lha / Docs / Panels < prev    next >
Text File  |  1996-11-06  |  22KB  |  546 lines

  1. VARIOUS PANELS OF ISTAR
  2.  
  3. Here we describe some of the panels you will encounter in using Istar. 
  4. Those not described here should be fairly obvious once you know these.
  5.  
  6.  
  7. THE SCREENS
  8.  
  9. Istar uses two screens, separate from Workbench.  The Control Screen comes 
  10. up first, with a grey background.  It is used for the panels.  The main 
  11. Easel comes up when you have a knowledge base ready.  Its size can changed 
  12. with the Prefs button on Initial Control Panel.
  13.  
  14.       The control screen usually resides along the bottom and can be moved
  15. manually using the two-pixel strips along its top.  Then there is a thin 
  16. backdrop window that shows the meanings of items.  Important on this window 
  17. is the gadget at the left hand end with two arrows.  This moves the control 
  18. screen up and down quickly.
  19.  
  20.  
  21. THE INITIAL CONTROL PANEL
  22.  
  23. This resides top left corner of the control screen.  One column of buttons 
  24. that valid when there is no KB - things like 'About' and 'Quit'.  The 
  25. 'Errors' button allows you to explore the various levels of any error that 
  26. occurs, though it is perhaps of more use to technical users.
  27.  
  28.       But, to get going, use 'New' or 'Get KB', which will, respectively,
  29. create a new KB for you or load an existing one.  When a KB is successfully 
  30. loaded the main easel will appear and on the control screen a KB panel will 
  31. appear.  You can load or create any number of KBs (depending on memory), 
  32. each with a drawing easel and each with its own KB panel.
  33.  
  34.       (In version 1.01 you could only have a single KB at a time and there
  35. was no KB panel.  Instead, the main control panel held three columns of 
  36. buttons and there were separate panels to select item type, relationship 
  37. type and to show the goal list.)
  38.  
  39.       The 'Prefs' button brings up a Preferences panel.
  40.  
  41.  
  42. PREFERENCES
  43.  
  44. This panel is being developed.  You should normally only alter it right at 
  45. the start of the program at present, as some of its facilities have little 
  46. or no effect after a KB has arisen.  Try things and see: if it works, fine, 
  47. if not, remember to set it at start next time.
  48.  
  49. Its main purpose is to set a few parameters relating to new knowledge bases 
  50. (standard values in brackets):
  51.  
  52.       #  Size and name of new KB (50,000 LWs and 30%)
  53.       #  Size and depth of its main Easel (30 by 24 inches)
  54.  
  55. Dimensions are measured in 1/256 of inch (approx. tenth of a millimetre).
  56.  
  57.       It also allows you to set the amount by which all main Easels scroll
  58. and to select fonts for:
  59.  
  60.       #  Main Easel
  61.       #  Question panels
  62.       #  Documents (not yet used)
  63.  
  64. Note that changes to the main easel font are only effective next easel you 
  65. bring up.
  66.  
  67.  
  68. THE KNOWLEDGE BASE PANEL
  69.  
  70. The KB panel concerns a whole knowledge base.  It comprises two columns of 
  71. buttons at its left and two lists at its right, with a few other buttons. 
  72. The name of the KB is shown in the window title of the panel.
  73.  
  74. First column are to do with current KB:
  75.  
  76.       #  Save
  77.       #  Save As
  78.       #  KB Dump - to export ASCII translations of the KB
  79.       #  Easel - to resize the main Easel etc.
  80.       #  KB Area - to see details and rename: KBA Panel
  81.       #  Clone KB (not yet working)
  82.       #  Rid - to get rid of the KB
  83.  
  84. Second column are to do with the knowledge in the current KB:
  85.  
  86.       #  See Easel - when multi KBs, to bring Easel to front
  87.       #  Reset Goals (to prepare the goal list for ...)
  88.       #  Infer Goals (to start a run)
  89.       #  Goal List (brings up the Goal List panel)
  90.       #  Att Types (to create new attribute types)
  91.       #  Topics (to manage topics)
  92.       #  Find (to search for item etc. by name or sub-string)
  93.  
  94. Third column is the Item Types list.  This is perhaps the most frequently 
  95. used, as you change item type.  Below it are buttons to create a new item 
  96. type, edit an existing type, clone an existing type (not yet implemented) 
  97. and get rid of an item type (dangerous, since you lose all items of that 
  98. type; try it on a dummy KB you have created for the purpose!).
  99.  
  100. Fourth column is the Relationship Types list, with buttons to create a new 
  101. relationship type or edit an existing one.  You will seldom use this list, 
  102. except when you are making up specific relationships.
  103.  
  104.  
  105. THE KBA PANEL
  106.  
  107. Hit the 'KB Area' button on KB panel, and up comes the 'Knowledge Base 
  108. Area' (KBA) panel, which tells you various things about the KB itself.  The 
  109. most useful things are:
  110.  
  111.       #  Name:  You can change the name of your KB, up to 40 chars.
  112.  
  113.       #  DSA % Expansion:  Make this higher for dynamic KBs; it is the
  114.       amount (as a %) of free space ('virgin glass' if we use the metaphor
  115.       of recycling glass bottles) created in the KB when it is next loaded.
  116.       Standard value is 30%, which gives plenty for the average knowledge
  117.       engineering session.  DSA means 'Data Structure Area' - where almost
  118.       everything goes.
  119.  
  120.       #  Min DSA:  30% of zero is zero, which is a problem when your KB is
  121.       young.  So we also stipulate a minimum size for the DSA.  Standard
  122.       value is 50,000 longwords (200,000 bytes).
  123.  
  124. Altering the last two resizes the KBA when you hit 'OK' (though it doesn't 
  125. work yet in Version 1.03) but you should seldom need to do so.  Of minor 
  126. interest are the following:
  127.  
  128.       #  KBA at:  The address in memory of the start of the KBA.  Decimal.
  129.  
  130.       #  Actual size:  Actual size in memory (bytes).
  131.  
  132.       #  Blocks:  How many separate blocks in the KB.  An Istar free
  133.       attribute typically comprises around 10 blocks.
  134.  
  135.       #  Bottles and Glass:  This shows how much 'free space' or 'glass'
  136.       there is to be recycled.  Bottles shows how many separate pieces,
  137.       Glass the total amount (in bytes).  Usually only of minor interest,
  138.       except when the KB gets fragmented.
  139.  
  140. Other, less useful things are:
  141.  
  142.       #  Version:  Ignore this.  At present always 0.  It is the version of
  143.       software, NOT of the knowledge you have put there.
  144.  
  145.       #  Max Ring Length:  Occasionally this is used to check against
  146.       infinite loops, but not always.  Usually ignore it at 9999.
  147.  
  148.       #  Tasks:  How many Amiga tasks are currently sharing this.  Always 1
  149.       at present (the current task).
  150.  
  151.  
  152. THE ATTRIBUTE DETAILS PANEL
  153.  
  154. Bring up the Attribute Details panel for a given attribute (step 8 in 
  155. <Driving Istar>).  Lots of information, some of which you can change.
  156.  
  157. Exit Buttons:
  158. When you hit OK (or OK-Act) the changes made will be stored with the 
  159. Attribute.
  160. If you hit Cancel, they will not be made - with the exception of those 
  161. lists underneath the exit buttons.
  162. Show:  Helps you find the attribure box on the Easel.  Hitting this button 
  163. will bring back the Easel but with only this attribute and those connected 
  164. to it showing.
  165.  
  166. Top row:  Name and Meaning, as discussed above.  Also a wee OK button for 
  167. convenience.
  168.  
  169. Next row:  To do with Attribute Value
  170. 1.  Attribute Type.  Hit the wee button to change it.
  171. 2.  Value.  Gadget type depends on type, e.g. sliders for proportions. 
  172. There might be more than one gadget; e.g. Ratio is two integers, Bayesian 
  173. is four sliders.
  174.  
  175. Next row:  More about values
  176. 1.  Show Value:  CheckBox you can tick if you want value to be shown on 
  177. main easel.  At present only works for booleans, bayesians, probabilities, 
  178. proportions.
  179. 2.  Inf:  CheckBox Ticked if value is infinite (eg. from divide by 0)
  180. 3.  Unk:  Ticked if unknown.  Attributes can have a value of 'unknown' 
  181. (which is different from 'not answered' below).  This would be for instance 
  182. when you ask the new Employee their age and they say 'I don't know'.
  183. 4.  MBK:  Means 'Must be Known'.  Tick this and 'Unk' is not allowed.  (In 
  184. this version has no effect.)
  185.  
  186.  
  187. DERIVATION
  188.  
  189. The attribute's value must be derived (obtained) from somewhere or somehow. 
  190. Istar offers three methods:
  191.  
  192. Left hand side Three Radio Buttons:  Derivation:  Shows how Value of 
  193. attribute is derived when the KB is run (as in step 10 in <Driving>):
  194. 1.  Constant.  You then alter the Value gadget(s) in row 2.
  195. 2.  Infer.  Then the Inference Method comes into play.  See above for how 
  196. to change it.  See below for Antecedents.
  197. 3.  User Supplied.  This means that to obtain the value we ask the user a 
  198. question when the KB is run.  (If Infer is selected but there are no 
  199. attributes then it is treated as User Supplied.)
  200.  
  201.  
  202. INFERRED ATTRIBUTES
  203.  
  204. The inference method is shown in the gadget to the right of the Infer Radio 
  205. Button, and changed by hitting the wee button attached.  The inference 
  206. method list thus presented depends on the Attribute Type.  For instance 
  207. Integer attributes can have all the normal arithmetic plus more.  See below 
  208. for list of inference methods.
  209.  
  210. Bottom Left of panel:  Antecedents.
  211. Here is a list of the antecedents, in their order.  So if we have 
  212. subtraction inference method then the value of this attribute will be the 
  213. value of the first, minus the values of all the others.  Sometimes the 
  214. order matters, sometimes not.
  215. 'To 1':  You can change the order by selecting an antecedent and hitting 
  216. 'To 1', which moves it to first in list.  Note that this change is NOT 
  217. undone if you then hit Cancel.
  218. 'See':  Hitting 'See' button will bring up the attribute panel of the 
  219. selected antecedent.
  220.  
  221. Bottom Right of panel:  Consequents
  222. As with antecedents.  But changing the order with the 'To 1' button is 
  223. unlikely to make much difference in practice except perhaps some change of 
  224. speed.
  225.  
  226. USER SUPPLIED ATTRIBUTES
  227.  
  228. Long String Gadget 'Q':  To right of 'User Supplied' button.  If you fill 
  229. this in then this is the text that will appear in the User Question panel. 
  230. Usually it is in the form of a question, and can be up to 256 characters 
  231. long.
  232.  
  233. Next Row:  To do with explanation facility.  When the user is asked for a 
  234. value, they might want an explanation of why the question is being asked, 
  235. or more detail about the question.  This text in this string gadget and it 
  236. will be presented to the user when they hit the 'Help' button on the User 
  237. Question Panel.
  238.  
  239. OVERRIDING
  240.  
  241. Next Row:  Overriding.
  242. Knowledge Based Systems are often used in decision support.  This often 
  243. requires the facility to override an attribute's value temporarily to try 
  244. something out.  e.g. "What if we increase the size of this building by 20 
  245. %?"  To allow this, each Attribute in Istar in fact has two values, not one 
  246. - a main value and an override.  The effect of overriding is that 
  247. inferencing does not proceed through this attribute and it is treated as 
  248. Constant or User Supplied rather than inferred.  This could be achieved 
  249. merely by changing the Derivation to Constant and altering the value.  But 
  250. the original value is then lost.  But with the Istar override facility, the 
  251. original value is retained and can be switched back in when the what-iffing 
  252. is finished.
  253.  
  254. 1.  Left Check Box allows Attribute to be overridden.
  255. 2.  String Gadget to its right is for text to put to user when it is 
  256. overridden; see below.
  257. 3.  Check Box to right shows whether or not it has been overridden.  If so, 
  258. then the Value shown is the override value.
  259.  
  260. STATUS OF ATTRIBUTE
  261.  
  262. Next Row: Status.
  263.  
  264. 1.  Answered.  If ticked then this attribute has been answered.  The 
  265. Answered flag is used when running the KB to determine whether or not to 
  266. seek to derive its value.  If answered, do not, if not answered, do.
  267.  
  268.       Normally if User Supplied then the user has answered a User Question
  269. about it.  If Inferred, it usually means that all its antecedents have been 
  270. answered.  e.g. If X = A + B + C, X is answered only when all of A, B, C 
  271. have been answered.  But for some inference methods the attribute can be 
  272. answered before all its antecedents have been.  e.g. X = A * B * C if A is 
  273. 0 then we know the value of X immediately.
  274.  
  275. 2.  Visited (DoneWith).  This is used during forward chaining (q.v.).  It 
  276. means that the value of the attribute has been propagated and so do not 
  277. bother doing so again.  Not usually very instructive information.
  278.  
  279. 3.  Error.  Not yet fully used.  But designed to indicate e.g. trying to 
  280. multiply two strings or other nonsensical things.  This information is 
  281. usually only of value when debugging the KB.
  282.  
  283. OTHER INFO ON ATTRIBUTE
  284.  
  285. Next row:  Other information.
  286.  
  287. 1.  Item to which this attribute belongs.
  288. 2.  'See' takes you to the Item Details Panel.
  289. 3.  DSAP:  Unique internal identifier for the Attribute. ('Data Structure 
  290. Area Pointer').
  291.  
  292. 4.  Topics.  Bring up the Topics panel (q.v.).
  293.  
  294. ANTECEDENTS AND CONSEQUENTS
  295.  
  296. Bottom of panel, left for antecedents, right for consequents
  297.  
  298. 1.  Related attribute list.  Select one and the wee buttons come into play:
  299. 2.  'A' Action button:  Click this to raise the attribute details panel for 
  300. the selected attribute.
  301. 3.  'R':  Click this to raise relationship instance panel for the link.
  302. 4.  'X':  Click this to gain explanation of what happens in the link.
  303. 5.  'To 1':  Click this to make that attribute first in list.
  304.  
  305.  
  306. THE ITEM DETAILS PANEL
  307.  
  308. The item details panel can be accessed by clicking the 'See' button on the 
  309. attribute details panel attached to the item name.  It will also appear if 
  310. you click on an item box on the easel, such as a form.
  311.  
  312.       Most of it is straightforward, such as label/name and meaning.  There
  313. is a list of attributes it contains taking up most of the left hand side. 
  314. With this you can select an attribute and bring up its panel with 'See' and 
  315. you can make it the first attribute in the item with 'To 1', though this 
  316. has very little effect in the current version.
  317.  
  318.       You can attach an item to topics as above.
  319.  
  320.       The two buttons concerned with importing and displaying text are not
  321. effective in this version.
  322.  
  323.  
  324. THE RELATIONSHIP INSTANCE DETAILS PANEL
  325.  
  326. The relationship details panel comes up if you click on a link on the main 
  327. easel or if you click the wee 'R' button at the bottom of the attribute 
  328. detaild panel.  It gives details about the relationship, including 
  329. antecedent and consequent.
  330.  
  331.       The main things of interest are the unary operator, and the weight.
  332. The use of these is explained in the <Using Istar> document.
  333.  
  334.       The Explain button brings up an explanation of what would happen when
  335. inference is performed with this relationship.
  336.  
  337.  
  338. TO CREATE NEW ITEM TYPE
  339.  
  340. To create a new item type the main thing is to give it a name, and then 
  341. some other information depending on what you want it for.  The basic 
  342. operation is as follows:
  343.  
  344. #  Click 'New' button under Item Type list on the KB panel.
  345.  
  346. #  Enter the name for it.
  347.  
  348. #  Ignore all the checkboxes for now.
  349.  
  350. #  What colours do you want?  First Pen gives colour of label, if any. 
  351. Second Pen gives colour of outline box.  Pattern gives pattern for outline 
  352. box.  Similar to Relationship Type Panel.  (This is not available in 
  353. versions earlier than 1.03.)
  354.  
  355. #  Click the 'OK' button.
  356.  
  357. (The new type is automatically selected for drawing.)
  358.  
  359.  
  360. ITEMS FOR SEMANTIC NET
  361.  
  362. In a semantic net (or a mental map) the important thing about items is the 
  363. relationships they have with other items.  So it is a good idea to define 
  364. relationship types that will be drawn from the items of this type.  So we 
  365. add a couple of extra steps to the above, to define the relationship types 
  366. you want (not available until version 1.03).
  367.  
  368. #  Click 'New' button under Item Type list on the KB panel.
  369. #  Enter the name for it.
  370. #  Ignore all the checkboxes for now.
  371.  
  372. #  There are two type gadgets mid-panel, showing 'None' and labelled 'Left' 
  373. and 'Right'.  Click the 'Right' one.  Up comes a list of relationship 
  374. types.  [Bug in version 1.03:  If there is more than one KB active, the 
  375. list will not appear; get rid of all but this KB.]  Select one, such as 
  376. 'Precedence' and click the 'OK' button.
  377.  
  378. #  What colours do you want?  First Pen gives colour of label, if any. 
  379. Second Pen gives colour of outline box.  Pattern gives pattern for outline 
  380. box.  Similar to Relationship Type Panel.
  381.  
  382. #  Click the 'OK' button on the Item Types Panel.
  383.  
  384. #  On the Easel, draw two items of this new type.  Now draw a link from the 
  385. right hand edge of the left one to the other.  It should draw a Precedence 
  386. relationship; you can check this by bringing up the Relationship Instance 
  387. Details panel for the relationship (see above).
  388.  
  389. Note that we did not set the 'Left' relationship type.  We could do so. 
  390. But when it is 'None' then the type drawn will be that shown selected in 
  391. the Relationship Types List on the KB panel.
  392.  
  393.  
  394. ITEMS AS DATABASE RECORDS
  395.  
  396. The other main use of items is as a database record, a collection of 
  397. attributes.  So for this, we take a few extra steps to add attributes. 
  398. (You can create item types with both relationship types and attributes; no 
  399. problem.)
  400.  
  401. #  Click 'New' button under Item Type list on the KB panel.
  402. #  Enter the name for it.
  403. #  Ignore all the checkboxes for now.
  404.  
  405. #  At bottom right is a type gadget which shows attribute type.  Click the 
  406. wee button to its left to bring up list of attribute types.  Select the 
  407. type required.
  408.  
  409. #  (If not available, click Cancel on the list, keep the Item Type panel 
  410. but send it to back, then create the attribute type you require as 
  411. described below.)
  412.  
  413. #  In string gadget to its left, give it a name.
  414.  
  415. #  IMPORTANT:  Now click the rectangular gadget above the attribute type 
  416. gadget to add it to the list of gadgets.
  417.  
  418. #  Repeat the above to add other attributes.
  419.  
  420. #  What colours do you want?  First Pen gives colour of label, if any. 
  421. Second Pen gives colour of outline box.  Pattern gives pattern for outline 
  422. box.  Similar to Relationship Type Panel.  (This is not available in 
  423. versions earlier than 1.03.)
  424.  
  425. #  Click the 'OK' button.
  426.  
  427.  
  428. ITEMS AS FREE ATTRIBUTES
  429.  
  430. You should seldom have to create your own free attribute types, since these 
  431. are automatically created when you create an attribute type.  But if you 
  432. wish to do so, you must create an item with a single attribute and with 
  433. 'Has Own Box' not ticked, so that no box is shown for the item itself. 
  434. (Note that at present it is not possible to suppress the item's box, so you 
  435. cannot strictly create new free attribute types.)
  436.  
  437.  
  438. TO CREATE A NEW ATTRIBUTE TYPE
  439.  
  440. #  In KB panel click the 'Att Types' button.  This brings up a panel for 
  441. attribute types.  The left hand list is of currently available attribute 
  442. types.  The right hand side is for giving ordinals and enumerated types 
  443. (and other types in future) names for their values.
  444.  
  445. #  Decide on name for attribute type and enter that in the 'N' gadget on 
  446. left hand side.
  447.  
  448. #  If you wish, you can give it a meaning in the 'M' gadget.  Maybe to 
  449. explain more about it.
  450.  
  451. #  Now click the wee button at the left of the 'V' type gadget at the 
  452. bottom, to obtain a list of fundamental value types.  Select the one you 
  453. want.
  454.  
  455. #  Lastly, click the left 'Add' action button to add it to the list of 
  456. attribute types available.
  457.  
  458. #  If the value type chosen is Enumerated or Ordinal then you will want to 
  459. add names for its values.  These have values from 1 upwards.
  460.  
  461. #  In the 'N' string give the name for the first value, such as 'Sunday'. 
  462. Then click the right 'Add' button to add it to the list.
  463.  
  464. #  Then give the name for the second value and click 'Add'.  And the third, 
  465. and so on.  Until finished.
  466.  
  467. #  When finished, click the 'Done' button, and the attribute type is 
  468. available for use e.g. in creating an item type.
  469.  
  470.  
  471. CREATING A NEW RELATIONSHIP TYPE
  472.  
  473. Click the 'New' button beneath the Relationship Types list on the KB panel. 
  474. Up comes a panel that allows you to define the name for the relationship 
  475. type, various parameters of it and visual appearance of the lines that 
  476. express its instances on the main easel.
  477.  
  478. #  Enter a name.
  479.  
  480. #  Is it DAG or not?  If DAG (Directed Acyclic Graph) then you cannot form 
  481. cycles with instances of this type of relationship.  That is, you cannot 
  482. build a KB with links e.g. from A to B, B to C, C to D, and D back to A 
  483. (though you can have A to B, B to C, C to D and A to D).  Many types of 
  484. relationship are DAGs, e.g. most dependencies.
  485.  
  486. #  If it is DAG, does this type of relationship perform inference?  Usually 
  487. not.
  488.  
  489. #  The next four check boxes should normally be left ticked for maximum 
  490. flexibility.
  491.  
  492. #  Pens and pattern.  The two pens can define the colours in which 
  493. instances of this type of relationship will be drawn for positive and 
  494. negative versions of the relationship.  If either is zero then a default 
  495. colour will be used that indicates whether the relationship is a DAG, is 
  496. inference or not.  The pattern is 16 pixels repeated along the line. 
  497. Usually used to give visual indication of type of relationship.
  498.  
  499. #  When done, click the 'Create' button (or 'Cancel').
  500.  
  501. EDITING A RELATIONSHIP TYPE
  502.  
  503. To make changes to the name of a relationship type or in any of the above 
  504. parameters, select the type in the Relationship Type list and click the 
  505. 'Edit' button beneath it.
  506.  
  507.       Note that if you alter the visual appearance, existing instances of
  508. this type will not be altered in visual appearance.  But new instances will 
  509. take on the new appearance.  Also, when you bring up a Relationship Details 
  510. panel and click 'OK' the visual appearance will change.
  511.  
  512.       BEWARE:  Do not change parameters of the standard relationship types
  513. (though you may change their visual appearance to suit your tastes).  In 
  514. particular, if you make 'Inference' to be not a DAG you will be allowed to 
  515. create an infinite loop in the KB.
  516.  
  517.  
  518. FINDING SOMETHING BY NAME
  519.  
  520. On main control panel, click the 'Find' button.  This brings up the Find 
  521. panel (which in the current version is rather sparse and empty).  It allows 
  522. you to find attributes, attribute types, items, item types, relationships, 
  523. relationship types by sub-strings their names contain.
  524.  
  525. #  Enter the sub-string in the long string gadget at the top.
  526.  
  527. #  Then click either Item, Att or Rel, depending on what you want to find. 
  528. It then brings up a panel for the thing found, if any: an attribute action 
  529. panel, an item details panel or a relationship instance panel.
  530.  
  531. #  Note that it will search the types before the instances.
  532.  
  533. #  If it's not the one you want, send that panel away (Cancel or Done) and 
  534. click Continue.  It will continue the search from where it left off.
  535.  
  536. #  You can watch the number.
  537.  
  538. #  If you want to find the total number of items, attributes or 
  539. relationships, clear the string gadget and hit the appropriate button.  The 
  540. number then shows you the total number, including the number of types.
  541.  
  542. #  (Note that in current version, Rel does not work.)
  543.  
  544.  
  545. Copyright (c) Andrew Basden, 1996
  546.